#ifndef CUBE_BUTTON_H_
#define CUBE_BUTTON_H_

enum eButtonState
{
	BUTTON_OUTOFPOS		= 0,
	BUTTON_ONPOS		= 1,
	BUTTON_ONCLICK		= 2,
	BUTTON_AFTERCLICKED	= 3,
};

class Button : public InteractableUI
{
public :
	Button( DWORD posX, DWORD posY, DWORD width, DWORD height );
	virtual ~Button();

	bool				IsButtonClicked(){ return _isButtonClicked; }

	void				SetImage( LPCWSTR filePath );

protected :
	void				ActualDraw();

	void				OnMouseOutOfPosition();
	void				OnMouseInPosition();
	void				OnMouseLButtonDown();
	void				OnMouseLButtonUp();

private :
	Button(){}

	bool				_isButtonClicked;
	bool				_isButtonPushed;
	LPDIRECT3DTEXTURE9	_pTexture;
};

#endif